from abc import ABC, abstractmethod
import numpy as np
from typing import Iterable


class BaseDetector(ABC):
    def __init__(self, *args, **kwargs) -> None:
        super().__init__()

    @abstractmethod
    def __call__(self, image: np.ndarray, *args, **kwargs) -> Iterable:
        pass

    @abstractmethod
    def forward(self, x):
        pass
